题目
设 与正整数 。求从 中选择如下 个子集的方案数:
满足约束:
解答
考虑以集合为节点,包含关系为边的有向图 :如果存在从 到 的边,那么有约束关系 ,这构成了一个约束系统
可以通过特征向量形式化这一点:
给定全集 ,通过特征向量可以定义细分区域:
此题的核心就是求解给定图上的细分区域个数,也就是满足约束的 的个数
如果图为 ,那么细分区域有 ,共 个。一般地,如果此图是一条 元单向链,那么细分区域有 个
现在,考虑这个图:
用文氏图可以看出,细分区域有 ,共 个
由于我们只关注图上的细分区域个数,可以认为该图和下面的图等价:
这种变换非常无聊,真正有价值的是对子图的变换。如果 只是一个子图,而 除此之外还连着其他边,那么变换为 显然是不合法的操作。下面这个变换结果更有用,它在 连着其他边的情况下仍然合法,只在 连着其他边时不合法:
考虑这个变换的实际意义, 是对 的重命名, 是对 的重命名,依此可以定义原图 的特征向量 与新图 的特征向量 间的保持 “是否满足约束” 性质的双射,从而证明此变换不改变图的细分区域个数,是等价变换。
然后,考虑对如下子图的变换:
依旧文氏图,可以发现,只需要 没有其他边,就可以等价变换为一条头为 ,尾为 ,中间有 个节点的链,正中间的节点是 ,剩余节点均被重命名
上面这个变换已经足够处理本题的约束图,反复运用变换可以将图变为一条 个节点的链,故有 个细分区域
对于 中的每一个元素,可以自由选择其位于的细分区域,以此重建图中的集合,由乘法原理,答案为